list p=12f675 #include errorlevel -302 __CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT ;\\\\\\\\\\\\\\\\\\\\\ cblock 0x20 TIME1 endc ;\\\\\\\\\\\\\\\\\\\\\ ORG 0 GOTO MAIN ;\\\\\\\\\\\\\\\\\\\\\ MAIN BSF STATUS,RP0 MOVLW b'00001001' MOVWF TRISIO MOVLW b'00000000' MOVWF ANSEL BCF STATUS,RP0 MOVLW b'00000111' MOVWF CMCON CLRF GPIO BSF FSR,0 ;\\\\\\\\\\\\\\\\\\\\\ LOOP BTFSC GPIO,0 ;Hi Active入力の場合  BTFSS GOTO LOOP CLRF GPIO MOVLW D'100' ;モード切替時のウエイト(50~255) MOVWF TIME1 DECFSZ TIME1,F GOTO $-1 BTFSS GPIO,3 ;回転方向変更の場合  BTFSC GOTO CW GOTO CCW ;\\\\\\\\\\\\\\\\\\\\\ CW BTFSC FSR,0 GOTO R1 BTFSC FSR,1 GOTO R2 BTFSC FSR,2 GOTO R3 BTFSC FSR,3 GOTO R0 GOTO MAIN CCW BTFSC FSR,0 GOTO R3 BTFSC FSR,1 GOTO R0 BTFSC FSR,2 GOTO R1 BTFSC FSR,3 GOTO R2 GOTO MAIN ;\\\\\\\\\\\\\\\\\\\\\ R0 MOVLW b'00000110' MOVWF GPIO CLRF FSR BSF FSR,0 GOTO LOOP R1 MOVLW b'00010100' MOVWF GPIO CLRF FSR BSF FSR,1 GOTO LOOP R2 MOVLW b'00110000' MOVWF GPIO CLRF FSR BSF FSR,2 GOTO LOOP R3 MOVLW b'00100010' MOVWF GPIO CLRF FSR BSF FSR,3 GOTO LOOP ;\\\\\\\\\\\\\\\\\\\\\ END